package com.zjdiepu.www.common.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.lang3.StringUtils;

/**
 * 验证
 * 项目名称：diepu-parent-common <br/> 
 * 类名称：IdNoUtil <br/>  
 * 类描述：验证 <br/>    
 * 创建人：xiongxiaotun <br/> 
 * 创建时间：2017年9月7日 上午10:41:19  <br/>   
 * 修改人：xiongxiaotun <br/> 
 * 修改时间：2017年9月7日 上午10:41:19   <br/>  
 * 修改备注：    <br/> 
 * @version V1.0   <br/>
 */
public class RegexUtil {
	private static String REGEX_ID_NO = "^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$|^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$";
	private static String REGEX_NUM = "^(-?\\d+)(\\.\\d*)?$";
	
	/**
	 * 验证是否为身份证
	 * @author xiongxiaotun <br/>
	 * @Title: isCard  <br/>
	 * @Description: 验证是否为身份证 <br/>
	 * @param idNO
	 * @return
	 * @version V1.0  <br/>
	 */
	public static boolean isCard(String idNO) {
		if(StringUtils.isBlank(idNO)) {
			return false;
		}
        Pattern pattern = Pattern.compile(REGEX_ID_NO, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(idNO);
        return matcher.matches();
	}
	
	/**
	 * 验证是否为数字 
	 * @author xiongxiaotun <br/>
	 * @Title: isNum  <br/>
	 * @Description: 验证是否为数字 <br/>
	 * @param num
	 * @return
	 * @version V1.0  <br/>
	 */
	public static boolean isNum(String num) {
		if(StringUtils.isBlank(num)) {
			return false;
		}
		Pattern pattern = Pattern.compile(REGEX_NUM);
		Matcher matcher = pattern.matcher(num);
		return matcher.matches();
	}
}
